home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / earcd / dev / amos / moreusel.lha / DotTunnel.AMOS / DotTunnel.amosSourceCode
AMOS Source Code  |  1997-04-18  |  2KB  |  66 lines

  1. Hide 
  2. Screen Open 0,320,256,8,0
  3. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  4. Double Buffer : Autoback 0
  5. AR=128 : AD=AR-1
  6. If Length(9)=0
  7.   Reserve As Data 9,AR*512*2
  8.   ST=Start(9)
  9.   For A=0 To AD
  10.     D=2000/((AR*3-A*3)+8)
  11.     For W=0 To 511
  12. '      DD=Qsin(W*2,D+((D*Abs((W and ad)-32))/64))
  13.       DD= Extension_8_1106(W*2,D)
  14.       Doke ST,DD : Add ST,2
  15.     Next 
  16.   Next 
  17. End If 
  18. Dim CO(2)
  19. CO(0)=$88F : CO(1)=$448 : CO(2)=$224
  20. For A=0 To 2
  21.   For C=0 To 7
  22.     AA=A : CO=0
  23.     For AAA=0 To 2
  24.       Add AA,1,0 To 2
  25.       If( Extension_8_04F8(AA) and C)>0 Then CO=CO(2-AAA)
  26.     Next 
  27.      Extension_8_14C6 A,C,CO
  28.   Next 
  29. Next 
  30. 'Wait Key  
  31. Reserve As Work 10,Screen Height*2
  32. ST=Start(10)
  33. B=0
  34. For A=0 To Screen Height-1
  35.   Doke ST,B : Add ST,2
  36.   Add B,Screen Width/8
  37. Next 
  38. ST=Start(9)
  39. R=0 : S=0
  40. BP=0 : BPC=0
  41. Repeat 
  42.   Screen Swap 
  43.   Wait Vbl 
  44.    Extension_8_121C 0,BP
  45.    Extension_8_1258 
  46.   For R=0 To AD Step 4
  47.     RR=(R+S) and AD
  48.     X=160+ Extension_8_1106(S*8-RR*4,32+ Extension_8_1114(S*2,32))
  49.     Y=128+ Extension_8_1114(S*8-RR*4,32+ Extension_8_1106(S*2,32))
  50.     D0TTUNNEL[Start(10),Start(9)+RR*1024,X,Y,BP,S-R,32]
  51.     If RR>AR/2 Then D0TTUNNEL[Start(10),Start(9)+RR*1024,X+1,Y,BP,S-R,16]
  52.     If RR>(AR*2)/3 Then D0TTUNNEL[Start(10),Start(9)+RR*1024,X,Y+1,BP,S-R,16]
  53.     If RR>(AR*3)/4 Then D0TTUNNEL[Start(10),Start(9)+RR*1024,X+1,Y+1,BP,S-R,16]
  54.   Next 
  55.   Inc S
  56.    Extension_8_149E BP,0 : View 
  57.   BPC=1-BPC : If BPC Then Add BP,1,0 To 2
  58. Until Inkey$<>"" or Mouse Key<>0
  59. Screen Close 0
  60. 'Wait Key  
  61. End 
  62. ' Screentable, Sinetable, Mx, My, Bp, Wa, Step 
  63. Procedure D0TTUNNEL[STABLE,SITABLE,MX,MY,BP,SA,STE]
  64.    ' COMPILED PROCEDURE -- can't convert this to AMOS code
  65. End Proc
  66. 'Procedure D0TTUNNEL[STABLE,SITABLE,MX,MY,BP,SA,STE]